<template>
  <div class="card shadow" :class="type === 'dark' ? 'bg-default': ''">
    <div class="card-header border-0" :class="type === 'dark' ? 'bg-transparent': ''">
      <div class="row align-items-center">
        <div class="col-md-8">
          <base-button outline type="secondary">
            <i class="ni ni-bullet-list-67"></i>
            {{title}}
          </base-button>
          <base-button type="success" @click="goToAddActivity">
            <i class="ni ni-fat-add"></i>添加活动
          </base-button>
        </div>
        <div class="col-md-4">
          <div class="input-group">
            <input type="text" placeholder="Search..." class="form-control" valid="true" />
          </div>
        </div>
      </div>
    </div>

    <div class="table-responsive">
      <base-table
        class="table align-items-center table-flush"
        :class="type === 'dark' ? 'table-dark': ''"
        :thead-classes="type === 'dark' ? 'thead-dark': 'thead-light'"
        tbody-classes="list"
        :data="tableData"
      >
        <template slot="columns">
          <th></th>
          <th>活动标题</th>
          <th>类型</th>
          <th>参与人次</th>
          <th>活动状态</th>
          <th>创建时间</th>
          <th>状态</th>
          <th>操作</th>
        </template>

        <template slot-scope="{row}">
          <td></td>
          <td scope="row">
            <div class="media align-items-center">
              <div class="media-body">
                <span class="name mb-0 text-sm">{{row.title}}</span>
              </div>
            </div>
          </td>
          <td class="budget">{{row.type}}</td>
          <td class="badge-dot mr-4">{{row.attendcount}}</td>
          <td class="badge-dot mr-4">{{row.finish}}</td>
          <td class="badge-dot mr-4">{{row.createtime}}</td>
          <td class="avatar-group">{{row.status}}</td>
          <td>
            <div class="d-flex align-items-center">
              <base-button outline type="primary" size="sm" @click="edit(row.id)">编辑</base-button>
              <base-button outline type="warning" size="sm" @click="del(row.id)">删除</base-button>
            </div>
          </td>
        </template>
      </base-table>
    </div>

    <div class="card-footer d-flex justify-content-center">
      <div class="col-md-2"></div>
      <div class="col-md-8">
        <base-pagination
          :value="pageList.newPageValue"
          :total="pageList.totalRecords"
          :page-count="pageList.totalPages"
          @input="page(arguments)"
          ref="pagechild"
          align="center"
        ></base-pagination>
      </div>
      <div class="col-md-2"></div>
    </div>
    <div>
      <modal :show.sync="delModal">
        <template slot="header">
          <h5 class="modal-title" id="exampleModalLabel">提示框</h5>
        </template>
        <div>确定删除活动吗？</div>
        <template slot="footer">
          <base-button type="secondary" @click="delModal= false">Close</base-button>
          <base-button type="primary" @click="confirmDelete">确认删除</base-button>
        </template>
      </modal>
    </div>
  </div>
</template>
<script>
import { findLdActivitiesByPageApi, delLdActivityApi } from "~/config/api/ldactivityinfoservice";
import dateTools from "~/config/utils/date-tools";
import tableDataTools from "~/config/utils/tabledata-tools";
export default {
  name: "projects-table",
  data() {
    return {
      search: "",
      delModal: false,
      delId: "",
      tableData: [
        {
          id: 1,
          titile: "",
          type: "",
          finish: "",
          attendcount:0,
          createtime: "1970-1-1",
          status: "启用",
        },
      ],
      pageList: {
        totalRecords: 100,
        totalPages: 10,
        newPageValue: 1,
        perPageSize: 10,
      },
    };
  },
  mounted() {
    this.findList();
  },
  methods: {
    goToAddActivity: function () {
      this.$router.push({
        name: "ldactivity-ldactivity",
        query: { action: "save" },
      });
    },
    page: function (args) {
      this.pageList.newPageValue = args[0];
      this.findList();
    },
    async findList() {
      let params = {
        start: this.pageList.newPageValue,
        length: this.pageList.perPageSize,
      };
      await findLdActivitiesByPageApi(params).then((res) => {
        if (res.sucflag) {
          this.pageList.totalRecords = res.totalrecords;
          this.pageList.totalPages = res.totalPage;
          let datalist = [];
          let bl = res.beanlist;
          for (let i in bl) {
            let data = {
              id: bl[i].id,
              title: bl[i].title,
              attendcount: bl[i].attendcount,
              type: tableDataTools.filterLdActivityType(bl[i].type),
              finish: tableDataTools.filterLdActivityFinish(bl[i].finish),
              createtime: dateTools.formatDateTimeLongToStr(bl[i].createtime),
              status: tableDataTools.filterStatus(bl[i].status),
            };
            datalist.push(data);
          }
          this.tableData = datalist;
        }
      });
    },
    edit: function (id) {
      this.$router.push({
        name: "ldactivity-ldactivity",
        query: { action: "edit", id: id },
      });
    },
    del: function (id) {
      this.delModal = true;
      this.delId = id;
    },
    /**
     * 确认删除
     */
    confirmDelete: function () {
      this.deleteRecord(this.delId);
      this.delModal = false;
    },
    async deleteRecord(id) {
      let params = {
        id: id,
      };
      await delLdActivityApi(params).then((res) => {
        if (res.sucflag) {
          this.findList();
        }
      });
    },
  },
};
</script>
<style>
</style>
